热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

重磅|大幅_GitHubStar20000+,程序员圈里都炸锅了!

篇首语:本文由编程笔记#小编为大家整理,主要介绍了GitHubStar20000+,程序员圈里都炸锅了!相关的知识,希望对你有一定的参考价值。导读

篇首语:本文由编程笔记#小编为大家整理,主要介绍了GitHub Star 20000+,程序员圈里都炸锅了!相关的知识,希望对你有一定的参考价值。


导 读


OCR方向的工程师,之前一定听说过PaddleOCR这个项目,


累计Star数量已超过20000+,


频频登上GitHub Trending和Paperswithcode 日榜月榜第一,


在Medium与Papers with Code 联合评选的《Top Trending Libraries of 2021》,从百万量级项目中脱颖而出,荣登Top10!


在《2021中国开源年度报告》中被评为活跃度Top5!


称它为 OCR方向目前最火的repo绝对不为过。



PaddleOCR影响力



PP-OCRv3效果


本次PaddleOCR最新发版,带来四大重磅升级,包括:


一、发布超轻量OCR系统PP-OCRv3:中英文、纯英文以及多语言场景精度再提升5% - 11%!


二、发布半自动标注工具PPOCRLabelv2:新增表格文字图像、图像关键信息抽取任务和不规则文字图像的标注功能。


三、发布OCR产业落地工具集:打通22种训练部署软硬件环境与方式,覆盖企业90%的训练部署环境需求。


四、发布业界首个交互式OCR开源电子书《动手学OCR》,覆盖OCR全栈技术的前沿理论与代码实践,并配套教学视频。


传送门:https://github.com/PaddlePaddle/PaddleOCR


下面我们就对上述升级依次进行说明:


01


PP-OCRv3优化策略详细解读


PP-OCR是PaddleOCR团队自研的超轻量OCR系统,面向OCR产业应用,权衡精度与速度近期,PaddleOCR团队针对PP-OCRv2的检测模块和识别模块,进行共计9个方面的升级,打造出一款全新的、效果更优的超轻量OCR系统:PP-OCRv3。


从效果上看,速度可比情况下,多种场景精度均有大幅提升:


1.中文场景,相比于PP-OCRv2中文模型提升超5%;


2.英文数字场景,相比于PP-OCRv2英文数字模型提升11%;


3.多语言场景,优化80+语种识别效果,平均准确率提升超5%。



全新升级的PP-OCRv3的整体框架图(粉色框中为PP-OCRv3新增策略)如下图。检测模块仍基于DB算法优化,而识别模块不再采用CRNN,更新为IJCAI 2022最新收录的文本识别算法SVTR (论文名称:SVTR: Scene Text Recognition with a Single Visual Model),并对其进行产业适配。



具体的优化策略包括:


1.检测模块


●LK-PAN:大感受野的PAN结构


●DML:教师模型互学习策略


●RSE-FPN:残差注意力机制的FPN结构


2.识别模块


●SVTR_LCNet:轻量级文本识别网络


●GTC:Attention指导CTC训练策略


●TextConAug:挖掘文字上下文信息的数据增广策略


●TextRotNet:自监督的预训练模型


●UDML:联合互学习策略


●UIM:无标注数据挖掘方案


优化策略解读详见第六节。


02


PPOCRLabelv2多项重磅更新


PPOCRLabel是首款开源的OCR半自动数据标注工具,大幅减少开发者标注OCR数据的时间。2021年,项目获得Wave Summit 2021优秀开源项目奖、启智社区优秀项目奖。经过一年的更新迭代,PPOCRLabel结合产业实际落地需求,正式发布PPOCRLabelv2,更新内容如下:


新增标注类型:表格标注、关键信息标注、不规则文字图像的标注(印章、弯曲文本等)


新增功能:锁定框、图像旋转、数据集划分、批量处理等


易用性提升:新增whl包安装、以及优化多处标注体验






表格标注动图、KIE标注动图(横向拉动)


03


OCR产业落地工具集


考虑到真实产业应用面对的各种软硬件环境和不同的场景需求,基于飞桨训推一体的功能完备,本次升级发布OCR产业落地工具集,打通22种训练部署软硬件环境与方式,包括3种训练方式、6种训练环境、3种模型压缩策略、和10种推理部署方式,如下表所示:



其中特色能力如下:


1.分布式训练:飞桨分布式训练架构具备4D混合并行、端到端自适应分布式训练等多项特色技术。在PP-OCRv3识别模型训练中,4机加速比达到3.52倍,精度几乎无损。


2.模型压缩:飞桨模型压缩工具PaddleSlim功能完备,覆盖模型裁剪、量化、蒸馏和NAS。PP-OCR模型经过裁剪量化后,模型大小从8.1M压缩至3.5M,移动端平均预测耗时减少36%。


3.服务化部署:飞桨服务化部署引擎Paddle Serving,提供性能优越、功能可靠的模型即服务能力。针对PP-OCR模型的服务化部署,采用全异步的Pipeline Serving,可将吞吐量提升2倍以上。


4.移动端/边缘端部署:飞桨轻量化推理引擎Paddle Lite适配了20+ AI 加速芯片,可以快速实现OCR模型在移动设备、嵌入式设备和IOT设备等高效设备的部署。


5.云上飞桨:面向飞桨框架及其模型套件的部署工具箱,支持 Docker 化部署和 Kubernetes 集群部署两种方式,满足不同场景与环境下OCR模型的训练部署需求。


04


《动手学OCR》电子书


《动手学OCR》是PaddleOCR团队携手华中科技大学博导/教授,IAPR Fellow 白翔、复旦大学青年研究员陈智能、中国移动研究院视觉领域资深专家黄文辉等产学研同仁,以及OCR开发者共同打造的结合OCR前沿理论与代码实践的教材。主要特色如下:


●覆盖从文本检测识别到文档分析的OCR全栈技术


●紧密结合理论实践,跨越代码实现鸿沟,并配套教学视频


●Notebook交互式学习,灵活修改代码,即刻获得结果







(可竖向拉动多图)


05


加入PaddleOCR技术交流群 


获取精品直播课/学习大礼包等福利!


入群福利:


1. 获取5月11-13日每晚20:30《OCR超强技术详解与产业应用实战》的直播课链接


2. 获取10G重磅OCR学习大礼包,包括:


●《动手学OCR》电子书,配套讲解视频和notebook项目


●66篇OCR相关顶会前沿论文打包放送,包括CVPR、AAAI、IJCAI、ICCV等


●PaddleOCR历次发版直播课视频


●OCR社区优秀开发者项目分享视频


报名方式:微信扫描二维码并填写问卷之后,加入交流群领取以上福利。




大家如果觉得不错,建议访问GitHub点个star关注收藏哈。


https://github.com/PaddlePaddle/PaddleOCR



官网地址:https://www.paddlepaddle.org.cn


PaddleOCR项目地址:


GitHub: https://github.com/PaddlePaddle/PaddleOCR


Gitee: https://gitee.com/paddlepaddle/PaddleOCR


注:[1] 测试样例图片源于网络


06


PP-OCRv3优化策略详解


1.检测模块优化策略


PP-OCRv3检测模块对PP-OCRv2中的CML(Collaborative Mutual Learning) 协同互学习文本检测蒸馏策略进行了升级。如下图所示,CML的核心思想结合了①传统的Teacher指导Student的标准蒸馏与 ②Students网络之间的DML互学习,可以让Students网络互学习的同时,Teacher网络予以指导。PP-OCRv3分别针对教师模型和学生模型进行进一步效果优化。其中,在对教师模型优化时,提出了大感受野的PAN结构LK-PAN和引入了DML(Deep Mutual Learning)蒸馏策略;在对学生模型优化时,提出了残差注意力机制的FPN结构RSE-FPN。消融实验如下表所示。




测试环境:Intel Gold 6148 CPU,预测时开启MKLDNN加速。


01


LK-PAN:大感受野的PAN结构


LK-PAN (Large Kernel PAN) 是一个具有更大感受野的轻量级PAN结构,核心是将PAN结构的path augmentation中卷积核从3*3改为9*9。通过增大卷积核,提升特征图每个位置覆盖的感受野,更容易检测大字体的文字以及极端长宽比的文字。使用LK-PAN结构,可以将教师模型的hmean从83.2%提升到85.0%。


02


DML:教师模型互学习策略


DML 互学习蒸馏方法,通过两个结构相同的模型互相学习,可以有效提升文本检测模型的精度。教师模型采用DML策略, hmean从85%提升到86%。将PP-OCRv2中CML的教师模型更新为上述更高精度的教师模型,学生模型的hmean可以进一步从83.2%提升到84.3%。


03


RSE-FPN:残差注意力机制的FPN结构


RSE-FPN(Residual Squeeze-and-Excitation FPN)引入残差结构和通道注意力结构,将FPN中的卷积层更换为带有残差结构的通道注意力结构的RSEConv层,进一步提升特征图的表征能力。进一步将PP-OCRv2中CML的学生模型的FPN结构更新为RSE-FPN,学生模型的hmean可以进一步从84.3%提升到85.4%。


2.识别模块优化策略


PP-OCRv3的识别模块是基于文本识别算法SVTR优化。SVTR不再采用RNN结构,通过引入Transformers结构更加有效地挖掘文本行图像的上下文信息,从而提升文本识别能力。直接将PP-OCRv2的识别模型,替换成SVTR_Tiny,识别准确率从74.8%提升到80.1%(+5.3%),但是预测速度慢了将近11倍,CPU上预测一条文本行,将近100ms。因此,如下图所示,PP-OCRv3采用如下6个优化策略进行识别模型加速,消融实验如下表所示。



注:测试速度时,实验01-03输入图片尺寸均为(3,32,320),04-08输入图片尺寸均为(3,48,320)。在实际预测时,图像为变长输入,速度会有所变化。测试环境:Intel Gold 6148 CPU,预测时开启MKLDNN加速。



01


SVTR_LCNet:轻量级文本识别网络


SVTR_LCNet是针对文本识别任务,将Transformer网络和轻量级CNN网络PP-LCNet 融合的一种轻量级文本识别网络。使用该网络,并且将输入图片规范化高度从32提升到48,预测速度可比情况下,识别准确率达到73.98%,接近PP-OCRv2采用蒸馏策略的识别模型效果。


02


GTC:Attention指导CTC训练策略


GTC(Guided Training of CTC),利用Attention指导CTC训练,融合多种文本特征的表达,是一种有效的提升文本识别的策略。使用该策略,识别模型的准确率进一步提升到75.8%(+1.82%)。


03


TextConAug:挖掘文字上下文信息的数据增广策略


TextConAug是一种挖掘文字上下文信息的数据增广策略,可以丰富训练数据上下文信息,提升训练数据多样性。使用该策略,识别模型的准确率进一步提升到76.3%(+0.5%)。


04


TextRotNet:自监督的预训练模型


TextRotNet是使用大量无标注的文本行数据,通过自监督方式训练的预训练模型。该模型可以初始化SVTR_LCNet的初始权重,从而帮助文本识别模型收敛到更佳位置。使用该策略,识别模型的准确率进一步提升到76.9%(+0.6%)。


05


联合互学习策略


UDML(Unified-Deep Mutual Learning)联合互学习是PP-OCRv2中就采用的对于文本识别非常有效的提升模型效果的策略。在PP-OCRv3中,针对两个不同的SVTR_LCNet和Attention结构,对他们之间的PP-LCNet的特征图、SVTR模块的输出和Attention模块的输出同时进行监督训练。使用该策略,识别模型的准确率进一步提升到78.4%(+1.5%)。


06


无标注数据挖掘方案


UIM(Unlabeled Images Mining)是一种非常简单的无标注数据挖掘方案。核心思想是利用高精度的文本识别大模型对无标注数据进行预测,获取伪标签,并且选择预测置信度高的样本作为训练数据,用于训练小模型。使用该策略,识别模型的准确率进一步提升到79.4%(+1%)。


经过上述文本检测和文本识别9个方面的优化,最终PP-OCRv3在速度可比情况下,在中文场景端到端Hmean指标相比于PP-OCRv2提升5%,效果大幅提升。具体指标如下表所示:



在英文数字场景,基于PP-OCRv3单独训练的英文数字模型,相比于PP-OCRv2的英文数字模型提升11%,如下表所示。



在多语言场景,基于PP-OCRv3训练的模型,在有评估集的四种语系,相比于PP-OCRv2,识别准确率平均提升5%以上,如下表所示。同时,PaddleOCR团队基于PP-OCRv3更新了已支持的80余种语言识别模型。



想了解更多技术详细解读,欢迎扫码加入技术交流群。



大家如果觉得不错,建议访问GitHub点个star关注收藏哈。


https://github.com/PaddlePaddle/PaddleOCR



推荐阅读
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • GPT-3发布,动动手指就能自动生成代码的神器来了!
    近日,OpenAI发布了最新的NLP模型GPT-3,该模型在GitHub趋势榜上名列前茅。GPT-3使用的数据集容量达到45TB,参数个数高达1750亿,训练好的模型需要700G的硬盘空间来存储。一位开发者根据GPT-3模型上线了一个名为debuid的网站,用户只需用英语描述需求,前端代码就能自动生成。这个神奇的功能让许多程序员感到惊讶。去年,OpenAI在与世界冠军OG战队的表演赛中展示了他们的强化学习模型,在限定条件下以2:0完胜人类冠军。 ... [详细]
  • 像跟踪分布式服务调用那样跟踪Go函数调用链 | Gopher Daily (2020.12.07) ʕ◔ϖ◔ʔ
    每日一谚:“Acacheisjustamemoryleakyouhaven’tmetyet.”—Mr.RogersGo技术专栏“改善Go语⾔编程质量的50个有效实践” ... [详细]
  • 抠图前vsPython自动抠图后在日常的工作和生活中,我们经常会遇到需要抠图的场景,即便是只有一张图片需要抠,也会抠得我们不耐烦ÿ ... [详细]
  • 世界人工智能大赛OCR赛题方案!
     Datawhale干货 作者:阿水,北京航空航天大学,Datawhale成员本文以世界人工智能创新大赛(AIWIN)手写体OCR识别竞赛为实践背景,给出了OCR实践的常见思路和流 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 本文详细解析了JavaScript中相称性推断的知识点,包括严厉相称和宽松相称的区别,以及范例转换的规则。针对不同类型的范例值,如差别范例值、统一类的原始范例值和统一类的复合范例值,都给出了具体的比较方法。对于宽松相称的情况,也解释了原始范例值和对象之间的比较规则。通过本文的学习,读者可以更好地理解JavaScript中相称性推断的概念和应用。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 华为200万年薪招聘AI应届生——有多少本事,给多少钱
    据新浪科技报道,阿里AIlabs年薪百万美元引进两位科学家。除AI顶尖科学家外,华为也是为多位AI应届博士开出了200万的高价年薪。19年9月,各大互联招聘企业陆续发布2019年人 ... [详细]
  • 以赛促学,飞桨助力大学生智能车竞赛升级!
    点击左上方蓝字关注我们第十六届智能汽车竞赛-百度人工智能创意赛道已经开启!比赛虽好,但同学们苦核心开发硬件久矣!百度飞桨作为大赛的赞助商之 ... [详细]
  • 学习提醒 | 如何训练RNN?解决梯度消失与梯度爆炸问题!
    点击左上方蓝字关注我们今天就要进入RNN的终章,每日一问:它们如何运行?应用在哪里?你学完了吗?????顾名思 ... [详细]
  • 产业智能化升级的浪潮并没有因为疫情等原因停滞不前,作为带来人工智能应用井喷式发展的深度学习技术在近几年也可谓是“时代宠儿”,想要尝试应用深度学习技术解决 ... [详细]
author-avatar
洛丽塔珊珊_668
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有